From: Yang Hongyang Date: Thu, 14 May 2015 08:55:12 +0000 (+0800) Subject: libxc/save: remove bitmap param from send_some_pages X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3242 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=60d048f2d5225d2e2bb30113be7eac1e218ec2d8;p=xen.git libxc/save: remove bitmap param from send_some_pages In last patch we added dirty bitmap to the save context, we no longer need to pass this param to send_some_pages. We can get dirty bitmap from the save context. 'entries' should stay as it is a useful sanity check. Signed-off-by: Yang Hongyang CC: Ian Campbell CC: Ian Jackson CC: Wei Liu CC: Andrew Cooper Reviewed-by: Andrew Cooper Acked-by: Ian Campbell --- diff --git a/tools/libxc/xc_sr_save.c b/tools/libxc/xc_sr_save.c index beb54c4c21..adb5cceb95 100644 --- a/tools/libxc/xc_sr_save.c +++ b/tools/libxc/xc_sr_save.c @@ -374,23 +374,24 @@ static int send_all_pages(struct xc_sr_context *ctx) } /* - * Send a subset of pages in the guests p2m, according to the provided bitmap. + * Send a subset of pages in the guests p2m, according to the dirty bitmap. * Used for each subsequent iteration of the live migration loop. * * Bitmap is bounded by p2m_size. */ static int send_some_pages(struct xc_sr_context *ctx, - unsigned long *bitmap, unsigned long entries) { xc_interface *xch = ctx->xch; xen_pfn_t p; unsigned long written; int rc; + DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, + &ctx->save.dirty_bitmap_hbuf); for ( p = 0, written = 0; p < ctx->save.p2m_size; ++p ) { - if ( !test_bit(p, bitmap) ) + if ( !test_bit(p, dirty_bitmap) ) continue; rc = add_to_batch(ctx, p); @@ -515,7 +516,7 @@ static int send_domain_memory_live(struct xc_sr_context *ctx) if ( rc ) goto out; - rc = send_some_pages(ctx, dirty_bitmap, stats.dirty_count); + rc = send_some_pages(ctx, stats.dirty_count); if ( rc ) goto out; } @@ -540,8 +541,7 @@ static int send_domain_memory_live(struct xc_sr_context *ctx) bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_size); - rc = send_some_pages(ctx, dirty_bitmap, - stats.dirty_count + ctx->save.nr_deferred_pages); + rc = send_some_pages(ctx, stats.dirty_count + ctx->save.nr_deferred_pages); if ( rc ) goto out;